调试

类 调试器

系统.对象
    └调试.调试器


公开 类 调试器 <基类型 = 系统.对象

该类实现了“易语言.飞扬”调试器的核心功能。


数据成员摘要
扩展 调试.调试事件监听器

事件监听器成员 

初始化方法摘要
公开 

构造器(调试.调试事件监听器 事件监听器) 

属性摘要
调试.调试事件监听器

事件监听器 

    可读 事件监听器

方法摘要
公开 调试.调试事件监听器

事件监听器() 

    取得当前调试器对象在创建时所指定的事件监听器

公开 调试.进程状态

取进程状态() 

    取得被调试进程当前的状态

公开 逻辑

结束() 

    结束当前调试过程,之前正在被调试的程序会被终止,所设置的断点会失去作用

公开 逻辑

加载(文本 欲被调试的文件名, 文本 当前目录) 

    加载一个易语言调试版exe文件,用于调试

公开 逻辑

运行() 

    开始运行被调试的程序或继续运行被中断的程序

公开 逻辑

终止() 

    终止运行被调试的程序

公开 逻辑

设置断点(文本 源文件名, 整数 行号) 

    在指定的源文件的指定行设置一个调试断点。当被调试程序的流程执行到成功设置了断点的行时会被调试器中断

公开 逻辑

移除断点(文本 源文件名, 整数 行号) 

    移除指定源文件指定行的调试断点

公开 逻辑

切换断点(文本 源文件名, 整数 行号) 

    切换指定源文件指定行的调试断点

公开

移除所有断点() 

    移除被调试程序中的所有调试断点

公开 调试.断点[]

取断点(文本 文件名 = "") 

    取出当前被调试程序中被成功设置的所有断点的信息

公开 逻辑

单步跟踪() 

    单步执行一行程序,如果该行调用了其他方法,调试器不会跟踪到该方法里面去

公开 逻辑

单步跟踪进入() 

    单步执行一行程序,如果该行调用了其他方法,调试器会跟踪进入到该方法里面去

公开 逻辑

跟踪返回() 

    从中断的源代码行开始执行直到断点所在的方法执行完毕、程序流程返回到上层调用者后中断

公开 逻辑

执行到(文本 源文件名, 整数 行号) 

    成功执行本方法后在执行“运行”,当程序流程到达指定的文件中的指定行后中断

公开 调试.调用栈项目[]

取调用栈() 

    取得被中断的程序当前的方法调用层次

公开 调试.变量信息,逻辑

取变量值(调试.调用栈项目 调用栈项目, 文本 变量名称) 

    如果找不到该变量,返回“空”

公开 文本[]

取类所有成员(文本 类名) 

    取得被调试进程中某个类的所有数据成员。

公开 文本

取基类型(文本 类型名) 

    取得被调试进程中某个类型的父类型

公开 文本[], 调试.变量信息[]

取所有变量(调试.调用栈项目 调用栈项目) 

    取得某个调用栈级别处所有可见的局部变量

公开 文本[]

取参数名称(调试.调用栈项目 调用栈项目) 

公开 逻辑

置变量值(调试.变量信息 变量, 整数 变量值) 

公开 逻辑

置变量值(调试.变量信息 变量, 小数 变量值) 

公开 逻辑

置变量值(调试.变量信息 变量, 逻辑 变量值) 

公开 逻辑

置变量值(调试.变量信息 变量, 文本 变量值) 

公开 逻辑

置变量值(调试.变量信息 变量, 字节集 变量值) 

公开 逻辑

清理临时变量() 

    对目前积累的(取对象属性)从远程进程读取到的引用数据的引用计数进行减一操作。 该方法必须由调试器之外的线程调用(比如在IDE UI线程里面),否则会导致调试器紊乱。 调用本方法时,被调试进程必须处于中断状态,否则调用失败。 该方法应该在: 1、每次中断时调用(以便清理上次中断时查看属性积累的数据); 2、被调试进程即将卸载调试库时调用(以便清理最后一次中断时积累的数据)

系统.对象 继承的方法
比较类型, 是否实现, 取类名, 发送事件, 等于, 比较, 到文本, 比较引用

数据成员详细信息

事件监听器成员

扩展 调试.调试事件监听器 事件监听器成员


初始化方法详细信息

构造器

公开 构造器(调试.调试事件监听器 事件监听器)


方法详细信息

事件监听器

公开 调试.调试事件监听器 事件监听器()

    取得当前调试器对象在创建时所指定的事件监听器


取进程状态

公开 调试.进程状态 取进程状态()

    取得被调试进程当前的状态


结束

公开 逻辑 结束()

    结束当前调试过程,之前正在被调试的程序会被终止,所设置的断点会失去作用


加载

公开 逻辑 加载(文本 欲被调试的文件名, 文本 当前目录)

    加载一个易语言调试版exe文件,用于调试

参数:

    欲被调试的文件名

    当前目录


运行

公开 逻辑 运行()

    开始运行被调试的程序或继续运行被中断的程序


终止

公开 逻辑 终止()

    终止运行被调试的程序


设置断点

公开 逻辑 设置断点(文本 源文件名, 整数 行号)

    在指定的源文件的指定行设置一个调试断点。当被调试程序的流程执行到成功设置了断点的行时会被调试器中断

参数:

    源文件名

    行号 - 行号从1开始


移除断点

公开 逻辑 移除断点(文本 源文件名, 整数 行号)

    移除指定源文件指定行的调试断点

参数:

    源文件名

    行号 - 行号从1开始


切换断点

公开 逻辑 切换断点(文本 源文件名, 整数 行号)

    切换指定源文件指定行的调试断点

参数:

    源文件名

    行号 - 行号从1开始


移除所有断点

公开 移除所有断点()

    移除被调试程序中的所有调试断点


取断点

公开 调试.断点[] 取断点(文本 文件名 = "")

    取出当前被调试程序中被成功设置的所有断点的信息

参数:

    文件名


单步跟踪

公开 逻辑 单步跟踪()

    单步执行一行程序,如果该行调用了其他方法,调试器不会跟踪到该方法里面去


单步跟踪进入

公开 逻辑 单步跟踪进入()

    单步执行一行程序,如果该行调用了其他方法,调试器会跟踪进入到该方法里面去


跟踪返回

公开 逻辑 跟踪返回()

    从中断的源代码行开始执行直到断点所在的方法执行完毕、程序流程返回到上层调用者后中断


执行到

公开 逻辑 执行到(文本 源文件名, 整数 行号)

    成功执行本方法后在执行“运行”,当程序流程到达指定的文件中的指定行后中断

参数:

    源文件名

    行号 - 行号从1开始


取调用栈

公开 调试.调用栈项目[] 取调用栈()

    取得被中断的程序当前的方法调用层次


取变量值

公开 调试.变量信息,逻辑 取变量值(调试.调用栈项目 调用栈项目, 文本 变量名称)

    如果找不到该变量,返回“空”

参数:

    调用栈项目

    变量名称


取类所有成员

公开 文本[] 取类所有成员(文本 类名)

    取得被调试进程中某个类的所有数据成员。

参数:

    类名


取基类型

公开 文本 取基类型(文本 类型名)

    取得被调试进程中某个类型的父类型

参数:

    类型名


取所有变量

公开 文本[], 调试.变量信息[] 取所有变量(调试.调用栈项目 调用栈项目)

    取得某个调用栈级别处所有可见的局部变量

参数:

    调用栈项目


取参数名称

公开 文本[] 取参数名称(调试.调用栈项目 调用栈项目)

参数:

    调用栈项目


置变量值

公开 逻辑 置变量值(调试.变量信息 变量, 整数 变量值)

参数:

    变量

    变量值


置变量值

公开 逻辑 置变量值(调试.变量信息 变量, 小数 变量值)

参数:

    变量

    变量值


置变量值

公开 逻辑 置变量值(调试.变量信息 变量, 逻辑 变量值)

参数:

    变量

    变量值


置变量值

公开 逻辑 置变量值(调试.变量信息 变量, 文本 变量值)

参数:

    变量

    变量值


置变量值

公开 逻辑 置变量值(调试.变量信息 变量, 字节集 变量值)

参数:

    变量

    变量值


清理临时变量

公开 逻辑 清理临时变量()

    对目前积累的(取对象属性)从远程进程读取到的引用数据的引用计数进行减一操作。 该方法必须由调试器之外的线程调用(比如在IDE UI线程里面),否则会导致调试器紊乱。 调用本方法时,被调试进程必须处于中断状态,否则调用失败。 该方法应该在: 1、每次中断时调用(以便清理上次中断时查看属性积累的数据); 2、被调试进程即将卸载调试库时调用(以便清理最后一次中断时积累的数据)



http://dotef.eyuyan.com